package com.newtouch.bxzs.business.personal.service;

import com.newtouch.bxzs.business.personal.model.ModifyUserPersonalInfoVO;
import com.newtouch.bxzs.business.personal.model.PersonalVisibleVO;
import com.newtouch.bxzs.business.personal.model.UserPersonalInfoBO;

/**
 * 用户个人信息服务类
 *
 * <p>
 * <b>History:</b>
 * <table border="1">
 * <tr>
 * <th>Date</th>
 * <th>Operator</th>
 * <th>Memo</th>
 * </tr>
 * <tr>
 * <td>2020年12月28日</td>
 * <td>xiongdianqiang</td>
 * <td>Create</td>
 * </tr>
 * </table>
 *
 * @author xiongdianqiang
 * @version 1.0.0
 * @since 1.0.0
 */
public interface PersonalService {

    /**
     * 通过用户id获取用户信息
     *
     * @param code
     * @return
     */
    UserPersonalInfoBO getPersonalDetail();

    /**
     * 通过id更新个人信息
     *
     * @param id
     * @param file
     * @param code
     * @param userVO
     * @return
     */
    void updatePersonalDetailById(ModifyUserPersonalInfoVO modifyUserPersonalInfoVO);

    /**
     * 根据id更新个人名片
     *
     * @param id
     * @param personalVisibleVO
     */
    void updatePersonalCardById(PersonalVisibleVO personalVisibleVO);

    /**
     * 根据用户工号获取用户id
     *
     * @param userJobNumber 用户工号
     * @return 用户id
     */
    String getUserId(String userJobNumber);

    /**
     * 设置/修改手势密码
     *
     * @param handPass        手势
     * @param confirmHandPass 二次密码
     * @return
     */
    Integer modifyHandPass(String handPass, String confirmHandPass);

    /**
     * 开启/关闭 手势密码
     *
     * @param handPassEnable 手势密码状态
     * @return
     */
    Integer enableHandPass(Boolean handPassEnable);

    /**
     * 忘记手势密码时,校验登录密码
     *
     * @param password 登录密码
     * @return
     */
	Boolean checkLoginPassword(String password);

	/**
	 *  校验手势密码
	 * @param password 手势密码
	 * @return
	 */
	Boolean checkHandPass(String password);

    /**
     *  修改登录密码
     * @param password
     * @return
     */
    Integer updateLoginPassword(String password,String confirmPassword);
}
